package com.galaxy.payment.service;

import com.galaxy.payment.domain.bo.PaymentBo;
import com.galaxy.payment.domain.vo.PaymentRecordVo;

/**
 * 微信支付服务接口
 */
public interface IWxPayService {

    /**
     * 创建小程序支付
     *
     * @param bo 支付信息
     * @return 支付参数
     */
    PaymentRecordVo createMiniPay(PaymentBo bo);

    /**
     * 查询支付结果
     *
     * @param payNo 支付单号
     * @return 支付结果
     */
    PaymentRecordVo queryPayResult(String payNo,String type);

    /**
     * 关闭支付订单
     *
     * @param payNo 支付单号
     * @return 是否成功
     */
    Boolean closePay(String payNo);

    /**
     * 申请退款
     *
     * @param payNo 支付单号
     * @param reason 退款原因
     * @return 是否成功
     */
    Boolean refund(String payNo, String reason);
}
